#include "util.hpp"


enum NODE_COLOR
{
    RED,
    BLACK
};


template<class K, class V>
class Node
{
public:
    Node()
    {
        color_ = BLACK;
        left_ = nullptr;
        right_ = nullptr;
        parent_ = nullptr;
    }
public:
    NODE_COLOR color_;
    Node<K, V>* left_;
    Node<K, V>* right_;
    Node<K, V>* parent_;
    std::pair<K, V> data_;
};

template<class K, class V>
class RBTree
{
public:
    RBTree()
    {
        root_ = nullptr;
    }

private:
    Node<K, V>* root_;
};


